<?php
/**
 * User: YL
 * Date: 2019/09/12
 */

namespace restful\traits;

trait CheckController
{
    /**
     * 无需登录的方法
     * @var array|string
     */
    protected static $noNeedLoginMethod = [];

    /**
     * 无需加解密的方法
     * @var array|string
     */
    protected static $noNeedCipherMethod = [];

    /**
     * 无需验证版本的方法
     * @var array|string
     */
    protected static $noNeedVersionMethod = [];

    /**
     * 获取无需登录的方法
     * @return array
     */
    public static function getNoNeedLoginMethod()
    {
        return static::getCheckData('noNeedLoginMethod');
    }

    /**
     * 获取无需加解密的方法
     * @return array
     */
    public static function getNoNeedCipherMethod()
    {
        return static::getCheckData('noNeedCipherMethod');
    }

    /**
     * 获取无需验证版本的方法
     * @return array
     */
    public static function getNoNeedVersionMethod()
    {
        return static::getCheckData('noNeedVersionMethod');
    }

    /**
     * 获取验证数据
     * @param $name
     * @return array
     */
    private static function getCheckData($name)
    {
        if (is_string(static::${$name})) {
            static::${$name} = explode(',', static::${$name});
        }

        return array_map(function ($v) {
            return strtolower($v);
        }, static::${$name});
    }
}
